namespace Apps.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    [Table("CONTRACT_DETAIL")]
    public partial class CONTRACT_DETAIL
    {
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public CONTRACT_DETAIL()
        {
            PL_RC_DETAILS = new HashSet<PL_RC_DETAILS>();
        }

        [Key]
        [StringLength(40)]
        public string CONTRACT_DETAIL_ID { get; set; }

        [StringLength(40)]
        public string CONTRACT_ID { get; set; }

        [StringLength(40)]
        public string MATERIEL_ID { get; set; }

        [StringLength(40)]
        public string MINE_ID { get; set; }

        public long? CONTRACT_TERM { get; set; }

        [StringLength(40)]
        public string SHIP_NAME { get; set; }

        public long? VOYAGE_NO { get; set; }

        public DateTime? ARRIVAL_DATE { get; set; }

        [StringLength(40)]
        public string ARRIVAL_ADDRESS { get; set; }

        public long? RELATION_PLAN_TYPE { get; set; }

        [StringLength(40)]
        public string RELATION_PLAN_ID { get; set; }

        public long? PLAN_NO { get; set; }

        public long? COUNT { get; set; }

        public short? PRICE_TYPE { get; set; }

        public decimal? PRICE { get; set; }

        public virtual CONTRACT_INFO CONTRACT_INFO { get; set; }

        public virtual PUB_MATERIEL PUB_MATERIEL { get; set; }

        public virtual PUB_MINE PUB_MINE { get; set; }

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
        public virtual ICollection<PL_RC_DETAILS> PL_RC_DETAILS { get; set; }
    }
}
